// 这里只写核心代码 错误判断就不写
// 组合式设计模式 = 构造函数 + 原型对象
function Vue (options) {
  // console.log(options, typeof options)
  if (typeof options !== 'object') throw TypeError('参数类型错误')
  // 在构造函数中保存传递过来的参数对象
  this.$options = options
  // 将vue的监管区域保存起来
  this.$el = typeof options.el === 'string' ? document.querySelector(options.el) : options.el
  // 将data保存起来便于后续进行数据劫持
  this._data = options.data
  // 这里普及基本常识 约定
  // _开始的属性表示私有属性 不允许外界去访问的 Symbol制作私有属性更好点
}
Vue.prototype = {

}
